[qemu] Support SPI Console with TX indicator for QEMU #28770
+119
−18
Add this suggestion to a batch that can be applied as a single commit.
This suggestion is invalid because no changes were made to the code.
Suggestions cannot be applied while the pull request is closed.
Suggestions cannot be applied while viewing a subset of changes.
Only one suggestion per line can be applied in a batch.
Add this suggestion to a batch that can be applied as a single commit.
Applying suggestions on deleted lines is not supported.
You must change the existing code in this line in order to create a valid suggestion.
Outdated suggestions cannot be applied.
This suggestion has been applied or marked resolved.
Suggestions cannot be applied from pending reviews.
Suggestions cannot be applied on multi-line comments.
Suggestions cannot be applied while the pull request is queued to merge.
Suggestion cannot be applied right now. Please check back later.
To enable use of provisioning flows in QEMU, we need the ability to use the SPI console with the TX-ready indicator GPIO pin, as this console is widely used during the provisioning flows. The current implementation relies on synchronization logic with tight timing & ordering assumptions made for speed, which do not necessarily hold up in the emulated QEMU execution environment (see the commit messages & comments for more details).
This PR introduces an additional piece of synchronization to the TX ready pin which is only implemented for QEMU interfaces, and updates tests that use the SPI console to provide the correct interface (aside: maybe there is a nicer way to do this globally, rather than pass it in everywhere?) The QEMU version is then bumped to pull in some fixes to the SPI device that will allow this feature to work, and a relevant test
//sw/device/tests:ottf_console_with_gpio_tx_indicator_test_sim_qemu_rom_with_fake_keysis supported for testing this behaviour.